
/**
 * 尊敬的用户，你好：页面 JS 面板是高阶用法，一般不建议普通用户使用，如需使用，请确定你具备研发背景，能够自我排查问题。
 * 我们可以用 JS 面板来开发一些定制度高功能，比如：调用API接口，自定义动作执行等等。
 */

// 当页面渲染完毕后马上调用下面的函数，这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。
export function didMount() {
    console.log("「页面 JS」：当前页面地址 " + location.href);
    const self = this;
    const ICON_BASE = api.CONST["bd_var:90c575d8-ac78-4268-9804-cfdb41fea564"];
    const ddcatSources = [
        { id: "60964ba6-2120-445f-8d34-eb0bedff1e06", name: "人员数据总览" }
    ];

    let litigantTitle = `<div style="display: flex; align-items: center; height: 0.56rem;">
              <div style="width: 0.36rem; height: 0.36rem; background-color: #F0F9FF; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 0.1rem;">
                  <img src="${ICON_BASE}/5pWw5o2u5oC76KeI.png" alt="图标" style="width: 0.15rem; height: 0.15rem;">
              </div>
              <div style="font-size: 0.14rem; line-height: 0.22rem;">
                  主体分类统计
              </div>
          </div>
          `
    self.$$("text_goqump").$$setValue(litigantTitle);

    fetchDdcatData(ddcatSources[0].id).then(res=>{
        let humanData = res;
        // self.$$("text_frgo2c").$$setValue(humanData.type2Count || 0);
        // self.$$("text_ze1g3").$$setValue(humanData.type3Count || 0);
        // self.$$("text_69eciy").$$setValue(humanData.type1Count || 0);


        initHumanTotal(self, humanData.allCount || 0, ICON_BASE);

    })

}

function initHumanTotal(self, total, ICON_BASE){

    let humanTota = `
    <div style="
    width: 100%;
    height: 0.56rem;
    background-image: linear-gradient(180deg, #F5FAFF 50%, #f5faff00 100%);
    border-radius: 12px 12px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.20rem;
    font-family: sans-serif;
  ">
    <div style="display: flex; align-items: center;">
        <img src="${ICON_BASE}/56S+5Lya5Li75L2TLeW3peS9nOWPsC3kuLvkvZM.png" alt="icon" style="width: 24px; height: 24px; margin-right: 8px;">
        <div style="font-size: 0.14rem; ">
            全部主体
        </div>
    </div>
    <div style="font-size: 0.24rem; font-weight: 700; line-height: 0.20rem; color: #223355;">
         ${total}
    </div>
  `;
    self.$$("text_c4gu35").$$setValue(humanTota);
}

/**
 * 从 ddcat 数据源拉取所有数据
 * @returns Promise<数组> - 返回结果数组
 */
function fetchDdcatData(sourceId) {
    const jsonParams = { pageSize: 99999 };
    return api.DATA_SOURCE_EXECUTE(
        sourceId,
        "ddcat",
        [],
        [],
        JSON.stringify(jsonParams)
    ).then(res => {
        if (res && !res.hasError && res.result) {
            return res.result;
        } else {
            console.warn("查询失败", res);
            return [];
        }
    });
}
